# coding: utf-8

"""
    SnapTrade

    Connect brokerage accounts to your app for live positions and trading

    The version of the OpenAPI document: 1.0.0
    Contact: api@snaptrade.com
    Created by: https://snaptrade.com/
"""

from datetime import date, datetime  # noqa: F401
import decimal  # noqa: F401
import functools  # noqa: F401
import io  # noqa: F401
import re  # noqa: F401
import typing  # noqa: F401
import typing_extensions  # noqa: F401
import uuid  # noqa: F401

import frozendict  # noqa: F401

from snaptrade_client import schemas  # noqa: F401


class AccountOrderRecordStatus(
    schemas.EnumBase,
    schemas.StrSchema
):
    """
    This class is auto generated by Konfig (https://konfigthis.com)
    """


    class MetaOapg:
        enum_value_to_name = {
            "NONE": "NONE",
            "PENDING": "PENDING",
            "ACCEPTED": "ACCEPTED",
            "FAILED": "FAILED",
            "REJECTED": "REJECTED",
            "CANCELED": "CANCELED",
            "PARTIAL_CANCELED": "PARTIAL_CANCELED",
            "CANCEL_PENDING": "CANCEL_PENDING",
            "EXECUTED": "EXECUTED",
            "PARTIAL": "PARTIAL",
            "REPLACE_PENDING": "REPLACE_PENDING",
            "REPLACED": "REPLACED",
            "STOPPED": "STOPPED",
            "SUSPENDED": "SUSPENDED",
            "EXPIRED": "EXPIRED",
            "QUEUED": "QUEUED",
            "TRIGGERED": "TRIGGERED",
            "ACTIVATED": "ACTIVATED",
            "PENDING_RISK_REVIEW": "PENDING_RISK_REVIEW",
            "CONTINGENT_ORDER": "CONTINGENT_ORDER",
        }
    
    @schemas.classproperty
    def NONE(cls):
        return cls("NONE")
    
    @schemas.classproperty
    def PENDING(cls):
        return cls("PENDING")
    
    @schemas.classproperty
    def ACCEPTED(cls):
        return cls("ACCEPTED")
    
    @schemas.classproperty
    def FAILED(cls):
        return cls("FAILED")
    
    @schemas.classproperty
    def REJECTED(cls):
        return cls("REJECTED")
    
    @schemas.classproperty
    def CANCELED(cls):
        return cls("CANCELED")
    
    @schemas.classproperty
    def PARTIAL_CANCELED(cls):
        return cls("PARTIAL_CANCELED")
    
    @schemas.classproperty
    def CANCEL_PENDING(cls):
        return cls("CANCEL_PENDING")
    
    @schemas.classproperty
    def EXECUTED(cls):
        return cls("EXECUTED")
    
    @schemas.classproperty
    def PARTIAL(cls):
        return cls("PARTIAL")
    
    @schemas.classproperty
    def REPLACE_PENDING(cls):
        return cls("REPLACE_PENDING")
    
    @schemas.classproperty
    def REPLACED(cls):
        return cls("REPLACED")
    
    @schemas.classproperty
    def STOPPED(cls):
        return cls("STOPPED")
    
    @schemas.classproperty
    def SUSPENDED(cls):
        return cls("SUSPENDED")
    
    @schemas.classproperty
    def EXPIRED(cls):
        return cls("EXPIRED")
    
    @schemas.classproperty
    def QUEUED(cls):
        return cls("QUEUED")
    
    @schemas.classproperty
    def TRIGGERED(cls):
        return cls("TRIGGERED")
    
    @schemas.classproperty
    def ACTIVATED(cls):
        return cls("ACTIVATED")
    
    @schemas.classproperty
    def PENDING_RISK_REVIEW(cls):
        return cls("PENDING_RISK_REVIEW")
    
    @schemas.classproperty
    def CONTINGENT_ORDER(cls):
        return cls("CONTINGENT_ORDER")
